import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { TypeOrmModule } from '@nestjs/typeorm';
import { UsersModule } from './users/users.module';
import { AuthModule } from './auth/auth.module';
import { User } from './users/user.entity';

/**
 * 应用模块，定义应用的根模块
 */
@Module({
  imports: [
    ConfigModule.forRoot({ isGlobal: true }),
    TypeOrmModule.forRoot({
      type: 'sqlite', // 使用 SQLite 数据库
      database: 'data.sqlite', // 数据库文件名
      entities: [User], // 注册 User 实体，用于数据库操作
      synchronize: true, // 自动同步数据库 schema，开发环境下使用
      logging: false, // 关闭数据库查询日志，生产环境下建议开启
    }),
    UsersModule, // 导入 UsersModule，提供用户相关的功能
    AuthModule, // 导入 AuthModule，提供认证相关的功能
  ],
})
export class AppModule {} // 导出 AppModule，作为应用的根模块